home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cml
/
cml-098.lha
/
cml-0.9.8
/
CHANGES
next >
Wrap
Text File
|
1993-02-08
|
4KB
|
113 lines
This file records the changes between different versions of CML.
CML 0.9.8 (02/01/93)
--------------------
- the TraceCML module has been greatly enriched. A mechanism for controlling
debugging printing, called trace modules, has been implemented. Also a
mechanism for watching for unexpected thread termination has been added,
and the mechanism for reporting uncaught exceptions has been improved.
All of these changes were suggested and prototyped by C. Krumvieda.
- reorganized the source files into separate signature and structure files.
- implemented CML.syncOnExcept.
- fixed a bug in poll, where polling a single event that had an abort action
did invoke the abort action (reported by C. Krumvieda).
- implemented CIO.input_string, which had been unimplemented.
- fixed a bug in CIO.input, where input was being lost (reported by T. Yan).
- split ConcurML functor into two structures: BaseCML and CML. The more
expensive (and less common) scheduling activities (e.g., checking for
pending I/O) have been moved to BaseML. This results in better than a
factor of two reduction in the cost of context switching.
CML 0.9.7 (7/29/92)
-------------------
- split scheduling queue into primary and secondary queues to provide better
interactive responsiveness when under load.
- fixed bug in syncOnOutput, which always returned false (reported by R. Cooper).
CML 0.9.6 (10/11/91)
-------------------
- fixed bug in RunCML.exportFn
- fixed bug in wrapAbort.
- The version of callcc used by CML has an unsafe type; it has been moved to
System.Unsafe.PolyCont, and this version of CML is modified accordingly.
- The type of callcc in the signature CONCUR_CALLCC has been changed to a weak
type (since the other typing is unsound).
- Changed CIO.execute (and added CIO.execute_in_env) to track changes to SML/NJ's
IO structure. This also fixes a bug with the environment that is passed to
the sub-process.
CML 0.9.5 (7/12/91)
-------------------
- fixed typing error in cio.sml, which was exposed by SML/NJ 0.70
- added always event constructor; this will replace the ALWAYS value,
but we are keeping it around for backward compatibility.
CML 0.9.4 (6/1/91)
------------------
- renamed wait event constructor to threadWait
- added a total ordering on thread identifiers
- added waitUntil event constructor for synchronizing on an absolute time
- Changed poll to be an asynchronous version of sync (instead of an
event constructor).
- Reimplemented the CIO library using guards and wrapAbort. Made
input, inputc and input_line operations synchronous (to match
the SML IO signature) and added inputEvt, inputcEvt and inputLineEvt
as event-valued forms. Also added can_input and lookahead operations,
and a mechanism for piping channels into and out of streams
- added condition variables
- moved the SafeCallCC functor to the library
CML 0.9.3 (internal version)
----------------------------
This version included the first implementation of guards and
wrapAbort. It was used for the benchmarks in the SIGPLAN'91
PLDI paper.
CML 0.9.2 (1/15/91)
-------------------
This version (which actually had several minor releases) fixed a significant
space leak problem (sync was breaking tail recursion).
This fix required a patch to SML/NJ, which was included in version 0.68.
There wer also some minor patches to the CIO module.
CML 0.9.1 (internal version)
----------------------------
This version fixed some minor bugs and improved performance, but it
was never released.
CML 0.9 (10/1/91)
-----------------
This was the first release of CML